package co.fitstart.mobile.service;


import java.util.List;

import co.fitstart.entity.course.round.CourseRound;
import co.fitstart.entity.order.Order;
import co.fitstart.entity.principal.Principal;
import co.fitstart.entity.user.Student;
import co.fitstart.entity.user.User;
import co.fitstart.entity.user.bwh.BwhRecord;

/**
 * 
 * @author mohanlan
 *
 */
public interface CourseRoundService {
    
    /**
     * 
     * @param student
     * @param finish
     * @return
     */
    public List<CourseRound> listCourseRound(Student student, boolean finish);
    
    /**
     * 
     * @param user
     * @param code
     * @param groupId
     * @param grouped
     * @return
     */
    public CourseRound loadCourseRound(User user, String code, String groupId, boolean grouped);
    
    /**
     * 
     * @param courseRoundId
     * @return
     */
    public CourseRound loadCourseRound(Long courseRoundId);
    
    /**
     * 
     * @param order
     * @return
     */
    public CourseRound loadCourseRound(Order order);
    
    /**
     * 
     * @param coachId
     * @return
     */
    public Principal loadCoach(Long coachId);
    
    /**
     * @param student
     * @param courseRound
     * @return
     */
    public boolean needTargetData(Student student, CourseRound courseRound);
    
    /**
     * 
     * @param user
     */
    public void editRoundZipName(User user);
    
    /**
     * 
     * @param courseRound
     * @param fullIn
     */
    public void fullInTarget(CourseRound courseRound, boolean fullIn);
    
    /**
     * 
     * @param bwhRecord
     * @param courseRound
     */
    public void createbwhRecord(BwhRecord bwhRecord, CourseRound courseRound);
    
    /**
     * 
     * @param couponIds
     * @param finish
     * @return
     */
    public List<CourseRound> list(List<String> couponIds, boolean finish);
}
